package com.projeto.bola.web.participanteGrupo;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.classic.Session;


public class ParticipanteGrupoDAOHibernate implements ParticipanteGrupoDAO{
	
	private Session sessao;

	
	public Session getSessao() {
		return sessao;
	}

	public void setSessao(Session sessao) {
		this.sessao = sessao;
	}

	@Override
	public void salvar(ParticipanteGrupo participanteGrupo) {		
		this.sessao.save(participanteGrupo);
	}
	
	@Override
	public void alterar(ParticipanteGrupo participanteGrupo) {
		this.sessao.merge(participanteGrupo);
	}
	
	@SuppressWarnings("unchecked")
	@Override
	public List<ParticipanteGrupo> listarParticipantePorGrupo (
			Integer grupoEsporte){	
		Query consulta;
			String sql = "from ParticipanteGrupo where id_grupo = :idGrupo";
			consulta = sessao.createQuery(sql);
			consulta.setInteger("idGrupo", grupoEsporte);					
		return consulta.list();
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<ParticipanteGrupo> listarGruposDoParticipantes( Integer idUsuario) {
		Query consulta;
		String sql = "from ParticipanteGrupo where id_usuario = :idUsuario";
		consulta = sessao.createQuery(sql);			
		consulta.setInteger("idUsuario", idUsuario);	
		return consulta.list();
	}

	@Override
	public ParticipanteGrupo consultaParticipante(Integer idGrupoEsporte,
			Integer idUsuario) {
		Query consulta;
		String sql = "from ParticipanteGrupo where id_grupo= :idGrupoEsporte and id_usuario = :idUsuario";
		consulta = sessao.createQuery(sql);	
		System.out.println("idGrupoEsporte" + idGrupoEsporte);
		System.out.println("idUsuario" + idUsuario);
		consulta.setInteger("idGrupoEsporte", idGrupoEsporte);
		consulta.setInteger("idUsuario", idUsuario);
		return (ParticipanteGrupo) consulta.uniqueResult();
	}	
	
}
